home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
turbovis
/
hsys12.zip
/
HFTP.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-01-31
|
15KB
|
479 lines
{************************************************************}
{************************************************************}
{** **}
{** Turbo Vision Demo **}
{** Portions Copyright (c) 1992 by Borland International **}
{** Portions Coypright (c) 1993 by KAP Holger Lembke **}
{** **}
{************************************************************}
{************************************************************}
{
dt.
KAP - Ergänzungen
14.01.94
■ Farbumsetztablle "CConverter" eingebaut
10.01.93
■ Einige Geschwindigkeitsoptimierungen
Hauptsächlich wiederholtes Dereferenzieren beseitigt,
ca. 8% schneller, Kleinvieh macht auch Mist.
06.01.93
■ Farbcodegeschichten gestrafft und vereinheitlicht
■ Farbcodes, die VOR dem sichtbaren Teil der Seite liegen, wurden
nicht berücksichtigt
zweite "for i:=1 to delta.y" Schleife
■ Fehler in Farbdarstellung bei direkt aufeinanderfolgenden Farbcodes
Farbcodeumsetzer modifiziert
k:=1;
m:=0;
cc:=0;
while (k<=length(line)) do begin
** while (line[k]='#') and (k<length(line)) do begin
war if (line[k]='#') then begin
30.12.93
■ THelpWindow
InitHelpViewer eingebaut, um auch Nachfahren von THelpViewer einfach
einfügen zu können.
Dazu auch eine Änderung in der DONE-Methode von THelpViewer
22.12.93
■ Seltener Fehler beim Zurücksteppen, wenn kein Link auf Seite
procedure MakeSelectVisible;
var D: TPoint;
begin
** if (selected=0) or (topic^.crossrefs=nil) then exit;
if (locarray=nil) kap
then Topic^.GetCrossRef(Selected, KeyPoint, KeyLength, KeyRef)
18.09.93
■ SELECTED im TStackRec (von Byte) auf Word geändert
■ MAKEFOCUSVISIBLE Bereichsüberschreitung beim Suchen des Hotkeys
(while (p<>nil) !!and (count<=topic^.numrefs)!! do begin
16.09.93
■ LASTPARAGRAPH:=NIL; in constructor THelpTopic.Load (Quelle: H.C.F.)
(Komisch, daß das nicht schon früher gestört hat....)
19.08.93
■ Kontrolle der Streamregistrierung eingebaut. Wenn Hilfsstreams nicht
registriert, dann reagieren wichtige Objekte im Constructor mit FAIL.
10.08.93
■ Kontrolle der Änderungen vom 8.-9.8.
■ Topic link-Jumping eingebaut (MakefocusVisible)
09.08.93
■ Markierung von Schaltflächen dramatisch beschleunigt (Handleevent)
(alles im Zuge des Deppen-Aufräumens)
08.08.93
■ DRAW-Methode bei vielen Links dramatisch beschleunigt
(vorher muss ein Depp drangewesen sein...)
04.08.93
■ compressor/decompressor optimiert
01.08.93
■ compressor/decompressor
22.07.93
■ modales Fenster ergänzt um "resizable dialog"
11.07.93
■ Fehler in der thelpviewer.draw methode, wenn farbumschaltung
ausserhalb des sichtbereiches liegt. es wurde dann übersehen.
Folge: text war falsch befarbt...
03.07.93
■ Speichern der letzten Menüposition umgestellt
02.06.93
■ Verändertes Mono-Handling
19.05.93
■ Bugfix: Topic-Markierung und Farben in einer Zeile
Bugfix: Farbmarkierungen und horizontales Scrollen
11.05.93
■ Bugfix: thelpviewer.draw und mehrzeiliger Umbruch farbiger texte
25.04.93
■ Optimisierung bei "countcs" in THelpTopic.WrapText
(Die Darstellung bei vielen Topics ist immer noch recht träge.)
21.04.93
■ Bugfix: Zeilenumbruch bei langen Paragraphen
20.04.93
■ nicht-modale Hilfe merkt sich die Größe
■ geänderte Farbe auch über Zeilenumbrüche hinweg
19.04.93
■ Umbau der THelpViewer.Draw-Methode
(incl. Änderungen in THelpTopic.WrapText)
- lock/unlock zur Darstellungsberuhigung
- zeichenweises Ablegen wg. Farbänderungen
methode: #n als Code, es ändert sich =nur= der Vordergrund
## für #
#! für Rücksetzen auf Dialogfarbe
16.04.93
■ Alt-F1 focusiert letztes focusiertes topic
15.04.93
■ modales Fenster wird in anderem Farbset dargestellt als nicht-modales
■ Alt-F1 für Help-History
■ Shift-F1 für Hilfe über Hilfe
14.04.93
■ Unterscheidung zwischen modaler und nicht-modaler Hilfe
eng.
22.12.93
■ rare error with "last help", if last page has no link
procedure MakeSelectVisible;
var D: TPoint;
begin
** if (selected=0) or (topic^.crossrefs=nil) then exit;
if (locarray=nil) kap
then Topic^.GetCrossRef(Selected, KeyPoint, KeyLength, KeyRef)
18.09.93
■ SELECTED at TStackRec (from Byte) changed to Word
■ MAKEFOCUSVISIBLE range-error when searching the hotkey
(while (p<>nil) !!and (count<=topic^.numrefs)!! do begin
16.09.93
■ LASTPARAGRAPH:=NIL; at constructor THelpTopic.Load (Quelle: H.C.F.)
(funny, that this hadn't disturbed earlyer....)
19.08.93
■ check of stream-registration inserted. if stream is not registered,
importend constructors will FAIL.
10.08.93
■ check of changes from 8.-9.8.
■ Topic link-Jumping einserted (MakefocusVisible)
09.08.93
■ dramaticly increase of link-selection (Handleevent)
(again: tiding up after the fool)
08.08.93
■ DRAW-methode inceased when lot of links are shown
(must been programed by a fool.....)
04.08.93
■ compressor/decompressor optimized
01.08.93
■ compressor/decompressor
22.07.93
■ added "resizable dialog" to modalar view
11.07.93
■ fixed error inside thelpviewer.draw methode, if colorchange is outside
the visible range, it was missed then.
result: text has wrong color...
03.07.93
■ change: storing the last menueposition
02.06.93
■ change: mono-handling
19.05.93
■ Bugfix: link-color and color of a line of text
Bugfix: color and horizontal scrolling
11.05.93
■ Bugfix: thelpviewer.draw and wrap with more lines
25.04.93
■ optimization: at "countcs" in THelpTopic.WrapText
(displaying lot of links is ugly slow.)
21.04.93
■ Bugfix: linewrap with long paragraphs
20.04.93
■ non-modal helpview will store its size
■ changed color with wrapped lines
19.04.93
■ redesign of THelpViewer.Draw-methode
(incl. changes in THelpTopic.WrapText)
- lock/unlock
- changed to piut-by-char because coloring
methode: #n for colorcode, only foreground!
## für #
#! für reset to "standardcolor"
16.04.93
■ Alt-F1 for switching back to last topic
15.04.93
■ modale view gets a different color set than non-modal view
■ Alt-F1 for help-history
■ Shift-F1 for help about help
14.04.93
■ nodal view <-> non-modal view
}
{$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X+,Y-}
{$Q-,I-,O- }
unit HelpFile;
interface
uses Objects, Drivers, Views;
const
CHelpColor = {8} #$37#$3F#$3A#$13#$13#$30#$3E#$1E;
CHelpBlackWhite = {8} #$07#$0F#$07#$70#$70#$07#$0F#$70;
CHelpMonochrome = {8} #$07#$0F#$07#$70#$70#$07#$0F#$70;
CHelpViewer = {3} #6#7#8;
Chelpwindow = {8} #16#17#18#19#20#57#21#13;
Cdialogwindow = {8} #32#33#34#35#36#38#40#13; { die farbe der dialoge }
{KAP}
{
chelpwindow-felder
1 ????
2 rahmen
3 rahmensymbole [■]
4 scroller
5 background, scrollersymbole
6 textinhalt
7 nicht focusierter topic
8 linked topics/reaktionstopic für ENTER
}
(*
CHelpWindow = #128#129#130#131#132#133#134#135;
*)
{KAP}
maxhelpback = 50;
indexpagenumber : word = 100;
helpabouthelp : word = 99;
cmhelplast = 65001;
cmhelpindex = 65002;
lastpos : trect = (a:(x:-1;y:0);b:(x:50;y:18));
MagicHeader = $46484246; {'FBHF'}
{ wenn auch tp60-hf geöffnet werden können sollen ... }
{ if it should be possible to old tp60-hf }
openanyway : boolean = false;
{ erlaubt den Hilfsfenster (trotz Dialog-Aussehen) die Größe zu ändern }
{ a non-modal help will be resizable, if set to true }
resizeabledialog : boolean = false;
ct_store = $01;
ct_nibble = $02;
ct_lastnibble = $03;
nc_rawchar